package comunicacion;

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import estado.EstadoPartida;

/**
 * Responsabilidad: Establecer la conexión mediante socket con clientes remotos.
 */

public class InterfazServidorCliente{

    public InterfazServidorCliente(Buffer colaEntrada, EstadoPartida estadoPartida){
        Socket socket;
        try {
            ServerSocket servidor = new ServerSocket(8001);
            System.out.println("Servidor iniciado, Esperando conexiones...");
            while(true){
                socket = servidor.accept();
                InterfazEnvia emisor = new InterfazEnvia(socket);
                InterfazRecibe receptor = new InterfazRecibe(socket, colaEntrada, estadoPartida);
                Cliente cliente = new Cliente(emisor, receptor);
                receptor.setCliente(cliente);
                receptor.start();
                System.out.println("Conexion aceptada");
            }
        } catch (IOException e) {
            System.err.println("Server constructor IOEx: " + e);
        }
    }
}